Database technology has developed rapidly in recent years. When choosing commercial database (such as Oracle, DB2 and Sybase etc.), large enterprises usually configure heterogeneous databases product in accordance with their actual demands, so as to improve the compatibility between different systems and the disaster recovery capability of the systems. The concept “heterogeneous databases” used herein widely includes heterogeneous computer system, heterogeneous operation system, and heterogeneous database product, and the heterogeneous database products relate to different databases management systems and different versions of a database management system.
Once the heterogeneous database products are used, it is very difficult to copy data among different databases in time with high efficiency, safety and stability. The “copy” of database herein contains the transferring of data, for example, if a batch of new data is produced to a database A by an application, then said new data has to be added into a backup database B (heterogeneous or homogeneous) in time; and the synchronizing of data, for example, the modification (or deletion) of partial data records should be timely reflected in other databases which may be used as a backup database or used for the distribution of parameters, etc.
Currently, the solutions employed in data replication among the heterogeneous databases in the art include: (1) replicating data in which the data is imported into a target database after being exported as files with specific format through a database management system; (2) capturing changes in data, where the changes in a source database are captured, and then applied to a target database which can be implanted by several particular means such as trigger, log, broadcasting and the like; and (3) providing specific product, in which a set of replication assembly with limited replication capacity is usually provided by the management system for large-scale databases.
However, each aforementioned replication techniques in the prior art has certain defects. In particular, the solution of replicating data, which requires a large number of storage overhead, has poor performance in real-time, and its performance in supporting the heterogeneous databases depends on the database manufacturers; the solution of capturing changes in data, which has a good performance in real-time, can produce an additional and heavy load on source database, and thus it is hard to fulfill the demands of transferring or synchronization of mass real-time data; and most of the replication products of specific manufactures are only provided for their own products, therefore the support which can be provided for the heterogeneous databases is not sufficient and the demands of transferring or synchronization of mass real-time data cannot be satisfied.